# 三种 hash 值
Webpack 文件指纹策略是将文件名后面加上 hash 值。特别在使用 CDN 的时候,缓存是它的特点与优势,但如果打包的文件名,没有 hash 后缀的话,你肯定会被缓存折磨的够呛 😂 例如我们在基础配置中用到的:filename: "[name][hash:8][ext]" 这里里面 [] 包起来的,就叫占位符,它们都是什么意思呢?请看下面这个表 👇🏻
| 占位符 | 解释 |
|---|---|
| ext | 文件后缀名 |
| a | b |
| ext | 文件后缀名 |
| name | 文件名 |
| path | 文件相对路径 |
| folder | 文件所在文件夹 |
| hash | 每次构建生成的唯一 hash 值 |
| chunkhash | 根据 chunk 生成 hash 值 |
| contenthash | 根据文件内容生成hash 值 |
占位符解释ext文件后缀名name文件名path文件相对路径folder文件所在文件夹hash每次构建生成的唯一 hash 值chunkhash根据 chunk 生成 hash 值contenthash根据文件内容生成hash 值 表格里面的 hash、chunkhash、contenthash 你可能还是不清楚差别在哪
- hash :任何一个文件改动,整个项目的构建 hash 值都会改变;
- chunkhash:文件的改动只会影响其所在 chunk 的 hash 值;
- scontenthash:每个文件都有单独的 hash 值,文件的改动只会影响自身的 hash 值;
← SourceMap 配置选择 优化构建速度 →